Text editor applications are used by developers to author source code. Certain editors use indexing functions to map symbols (or “tags”), e.g., function names, global variables, typedefs, defines, or keywords, to portions of source code files where the symbols are defined. The mappings are listed in an index, where each entry in the index includes the name of a symbol, the name of the file where the symbol is defined, and a position within the file where the symbol is defined.
By entering a command to search the index, a user may search for symbol definitions in one or more of the files. When a match is located, the index provides the name of the file or files where the definition of the tag is located and the positions of the definition. The code at an identified position may be output to the user, for example by automatically moving a cursor to that position.
Where developers have access to large code bases, the number of results that are returned for a given symbol definition query may also be quite large. If so, developers must manually sort through each result to select an appropriate tag definition. As the code base grows, an increasingly larger number of results may be returned.